package br.com.foxinline.manager.pesquisar.ep;

import br.com.foxinline.modelo.ep.AtoTipoEP;
import br.com.foxinline.servico.ep.AtoTipoEPServico;
import br.com.foxinline.utilitario.Mensagem;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author cadomeireles
 */
@ViewScoped
@ManagedBean
public class ManagerPesquisarAtoTipoEP implements Serializable {
    
    @EJB
    AtoTipoEPServico atoTipoEPServico;
    
    private AtoTipoEP atoTipoEP;    
    private AtoTipoEP atoTipoEPVisualizar;    
    private AtoTipoEP atoTipoEPDeletar;
    private List<AtoTipoEP> atoTiposEP;
    
    private String visualizarId;
    
    @PostConstruct
    public void init() {
        instanciar();
        delegar();
    }
    
    private void instanciar() {
        this.atoTipoEP = new AtoTipoEP();
        this.atoTipoEPVisualizar = new AtoTipoEP();
        this.atoTipoEPDeletar = new AtoTipoEP();
        this.atoTiposEP = new ArrayList<AtoTipoEP>();
    }

    private void delegar() {
        Map<String, String> parametros = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
        this.visualizarId = parametros.get("atoTipoEPId");
        
        if (visualizarId != null) {
            this.atoTipoEPVisualizar = atoTipoEPServico.pesquisar(Long.parseLong(visualizarId));
        }
    }

    public void pesquisar() {
        this.atoTiposEP = atoTipoEPServico.pesquisar(this.atoTipoEP);
    }    
    
    public void limpar() {
        instanciar();
    }
    
    public void deletar() {
        atoTipoEPServico.deletar(this.atoTipoEPDeletar);
        pesquisar();
        
        Mensagem.messagemInfo("Tipo do Ato excluído com sucesso!");
    }
    
    public AtoTipoEP getAtoTipoEP() {
        return atoTipoEP;
    }

    public void setAtoTipoEP(AtoTipoEP atoTipoEP) {
        this.atoTipoEP = atoTipoEP;
    }

    public AtoTipoEP getAtoTipoEPDeletar() {
        return atoTipoEPDeletar;
    }

    public void setAtoTipoEPDeletar(AtoTipoEP atoTipoEPDeletar) {
        this.atoTipoEPDeletar = atoTipoEPDeletar;
    }

    public AtoTipoEP getAtoTipoEPVisualizar() {
        return atoTipoEPVisualizar;
    }

    public void setAtoTipoEPVisualizar(AtoTipoEP atoTipoEPVisualizar) {
        this.atoTipoEPVisualizar = atoTipoEPVisualizar;
    }

    public List<AtoTipoEP> getAtoTiposEP() {
        return atoTiposEP;
    }

    public void setAtoTiposEP(List<AtoTipoEP> atoTiposEP) {
        this.atoTiposEP = atoTiposEP;
    }

}
